#include <iostream>

class Test
{
public:
    Test()
    {
        a++;
    }
    //静态成员函数属于整个类
    //没有this指针 不能访问普通成员变量 能访问静态成员变量
    static void func() //静态成员函数
    {

    }
    ~Test()
    {
        a--;
    }
public:
    static int a;
};

//不独属于某一个特定类的对象 由所有的对象共享

//静态变量的初始化在类外
int Test::a = 0;

int main()
{
    // Test t;
    // t.a = 20;
    // Test t2;
    // std::cout<<t2.a<<std::endl;

    // printf("%p %p\n",&t.a,&t2.a);
    
    Test *t1 = new Test;
    Test *t2 = new Test;
    Test *t3 = new Test;

    delete t1;
    delete t2;
    //静态变量可以由类直接进行访问
    std::cout<<Test::a<<std::endl;
    return 0;
}